package model;


import java.util.HashMap;
import java.util.List;
import java.util.Map;

import com.et.ar.ActiveRecordBase;
import com.et.ar.annotations.BelongsTo;
import com.et.ar.annotations.Column;
import com.et.ar.annotations.DependentType;
import com.et.ar.annotations.HasMany;
import com.et.ar.annotations.Id;
import com.et.ar.annotations.Table;
import com.et.mvc.JsonView;
/**
 * @author wzzz
 * @date 2011-3-20 下午08:03:50
 * @desc 系统子功能
 *
 */
@Table(name = "sys_sub_menu")
public class Sys_sub_menu extends ActiveRecordBase {
	@Id
	private Integer id; // 序号
	@Column
	private Integer sys_menuId;// 主功能序号
	@Column
	private String func_name;// 子功能名称
	@Column
	private String image;// 子功能菜单图标
	@Column
	private String func_css;// 子功能标签所用的css名称
	@Column
	private String tab_name;// 标签菜单名称
	@Column
	private String func_url;// 子功能URL

	@BelongsTo(foreignKey = "sys_menuId")
	private Sys_menu sys_menu;
	
	@HasMany(foreignKey="sys_sub_menu_id", dependent=DependentType.DELETE, order="id")   
//	private List<Role_menu> role_menus;  
	
	public Integer getId() {
		return id;
	}

	public void setId(Integer id) {
		this.id = id;
	}

	public Integer getSys_menuId() {
		return sys_menuId;
	}

	public void setSys_menuId(Integer sysMenuId) {
		sys_menuId = sysMenuId;
	}

	public String getFunc_name() {
		return func_name;
	}

	public void setFunc_name(String funcName) {
		func_name = funcName;
	}

	public String getImage() {
		return image;
	}

	public void setImage(String image) {
		this.image = image;
	}

	public String getFunc_css() {
		return func_css;
	}

	public void setFunc_css(String funcCss) {
		func_css = funcCss;
	}

	public Sys_menu getSys_menu() {
		return sys_menu;
	}

	public void setSys_menu(Sys_menu sysMenu) {
		sys_menu = sysMenu;
	}

	public String getTab_name() {
		return tab_name;
	}

	public void setTab_name(String tabName) {
		tab_name = tabName;
	}

	public String getFunc_url() {
		return func_url;
	}

	public void setFunc_url(String func) {
		func_url = func;
	}
	/**
	 * @author wzzz	
	 * @date 2011-3-20 下午08:00:57
	 * @desc 用户登陆后，根据用户角色读取用户功能	
	 *
	 */
	public JsonView getUserPrivs(String user_priv) throws Exception {
		String cond = "priv_no=?";
		Object[] args = new Object[]{user_priv};
		long total = Sys_priv_menu.count(Sys_priv_menu.class, cond, args);
		List<Sys_priv_menu> user_funcs = Sys_priv_menu.findAll(Sys_priv_menu.class); 

		// 构造JSON用的数据结构并返回JSON视图
		Map<String, Object> result = new HashMap<String, Object>();
		result.put("total", total);
		result.put("rows", user_funcs);
		return new JsonView(result);
	}
}
